import sys,os
from cx_Freeze import setup, Executable
import subprocess

# 根据操作系统设置 base 参数
if sys.platform == "win32":
    base = "Win32GUI"  # Windows 平台隐藏控制台窗口
else:
    base = None  # Linux 和 macOS 平台不设置 base 参数

# 如果requirements.txt存在则安装requirements.txt中的依赖    
if os.path.exists("requirements.txt"):
    # 安装 requirements.txt 中的依赖
    print("正在安装 requirements.txt 中的依赖...")  
    # pipreqs C:\Users\YourUsername\Projects\MyApp --encoding=utf8
    subprocess.check_call([sys.executable, "-m", "pip", "install", "-r", "requirements.txt"])   
    print("安装完成")   
else:
    print("未找到requirements.txt") 

print("开始编译...")    
# 使用cx_Freeze编译Python程序为exe文件
setup(
    name="P2PServer",
    version="1.0",
    description="P2PServer是一个简单的P2P通信服务程序",
    author="刘亮",
    author_email="kuai410022283@qq.com",
    # url="https://laokhome.cn",
    license="MIT",
    executables=[
        Executable("mainserver.py", target_name="P2PServer", icon="favicon.ico", base=base),
        Executable("mainclient.py", target_name="P2PClient", icon="favicon.ico", base=base)
    ]
)
print("编译完成")   
# 使用如下命令生成exe文件   
# python setup.py build 
